537aca057eb17ce59052ca35c63438d8d9ee29a1,spark/src/main/java/edu/berkeley/cs/succinct/streams/SuccinctFileStream.java,SuccinctFileStream,bwdSearch,#number[]#,136
Before Change
int m = buf.length;
long c1, c2;
if (alphabetMap.containsKey(buf[m - 1])) {
range.first = alphabetMap.get(buf[m - 1]).first;
byte nextByte = alphabetMap.get(buf[m - 1]).second + 1 == getAlphabetSize() ?
SuccinctCore.EOA :
alphabet[alphabetMap.get(buf[m - 1]).second + 1];
range.second = alphabetMap.get(nextByte).first - 1;
} else {
return new Range(0L, -1L);
}
After Change
int m = buf.length;
long c1, c2;
int pos = findCharacter(buf[m - 1]);
if (pos >= 0) {
range.first = columnoffsets.get(pos);
range.second =
((pos + 1) == getAlphabetSize() ? getOriginalSize() : columnoffsets.get(pos + 1)) - 1;
} else {
return new Range(0L, -1L);
}